10 REM " [196]ISK [205]ANAGER [214]4.0 11 [143] " 12 REM " [214]ON [212]HOMAS [207]MERZU 13 [143] " PEEKIRKENWEG 3 14 REM " 4413 [194]EELEN 15 [143] " 16 REM " 06/09/85 17 [143] " 20 : 21 O1=6501: M1=O1+1 22 O2=301 : M2=O2+1 25 DIM DI$(150),K(150) 26 DIM SI(4) : REM SPEICHERINFO 30 AN=0 35 DEFFNH(X)=INT(X/256) 36 DEFFNL(X)=X-256*FNH(X) 40 DEFFNM1(X)=X-(INT(X/O1)*O1)+1 41 DEFFNM2(X)=X-(INT(X/O2)*O2)+1 42 C1$=" [146][157]":C1=20 43 C2$=" [157]": C2=2*C1 44 RE$="" 45 HK$=CHR$(34) 46 NU$=CHR$(0) 47 DF$=" " 48 DL$=CHR$(254)+CHR$(255) 50 : 90 GOTO 1000 95 : 97 REM 98 REM ---- "[200]ASH-[198]UNKTION 1" ---- 99 REM 100 ID=0 101 LE=LEN(ID$):IFLE=0THENID=1:RETURN 102 FORI=1TOLE 110 A$=MID$(ID$,I,1) 130 ID=FNM1(ID*26+ASC(A$)) 140 NEXT 150 RETURN 197 REM 198 REM ---- "[200]ASH-[198]UNKTION 2" ---- 199 REM 200 DI=0 201 LE=LEN(DI$):IFLE=0THENDI=1:RETURN 202 FORI=1TOLE 210 A$=MID$(DI$,I,1) 230 DI=FNM2(DI*26+ASC(A$)) 240 NEXT 250 RETURN 297 REM 298 REM ---- "[208]ROGRAMMFILE LESEN" ---- 299 REM 300 PRINT#15,"P"CHR$(2)CHR$(FNL(ID))CHR$(FNH(ID))CHR$(1) 310 INPUT#2,PR$ 320 PRINT#15,"P"CHR$(2)CHR$(FNL(ID))CHR$(FNH(ID))CHR$(18) 330 GET#2,A1$,A2$,A3$,A4$,CO$ 340 DI=ASC(A1$+NU$)+256*ASC(A2$+NU$) 345 NE=ASC(A3$+NU$)+256*ASC(A4$+NU$) 350 RETURN 357 REM 358 REM ---- "[196]ISKFILE LESEN" ---- 359 REM 360 PRINT#15,"P"CHR$(2)CHR$(FNL(DI))CHR$(FNH(DI))CHR$(1) 370 INPUT#2,NA$,IN$ 375 PRINT#15,"P"CHR$(2)CHR$(FNL(DI))CHR$(FNH(DI))CHR$(25) 380 GET#2,A1$,A2$,A3$,A4$ 385 NE=ASC(A1$+NU$)+256*ASC(A2$+NU$) 387 FR=ASC(A3$+NU$)+256*ASC(A4$+NU$) 390 RETURN 397 REM 398 REM ---- "[208]ROGFILE SCHREIBEN" ---- 399 REM 400 PRINT#15,"P"CHR$(2)CHR$(FNL(ID))CHR$(FNH(ID))CHR$(1) 410 PRINT#2,ID$ 420 PRINT#15,"P"CHR$(2)CHR$(FNL(ID))CHR$(FNH(ID))CHR$(18) 430 PRINT#2,CHR$(FNL(DN))CHR$(FNH(DN))CHR$(FNL(KO))CHR$(FNH(KO))CO$; 450 RETURN 457 REM 458 REM ---- "[196]ISKFILE SCHREIBEN" ---- 459 REM 460 PRINT#15,"P"CHR$(2)CHR$(FNL(DI))CHR$(FNH(DI))CHR$(1) 470 PRINT#2,DI$","I$ 475 PRINT#15,"P"CHR$(2)CHR$(FNL(DI))CHR$(FNH(DI))CHR$(25) 480 PRINT#2,CHR$(FNL(KO))CHR$(FNH(KO))CHR$(FNL(FR))CHR$(FNH(FR)) 490 RETURN 497 REM 498 REM ---- "[211]PEICHERINFO LESEN" ---- 499 REM 500 OPEN5,8,5,"#":GOSUB700 510 PRINT#15,"B-R:" 5;0;18;0 520 PRINT#15,"B-P:" 5;200 525 FOR SI=0 TO 4 530 GET#5,A1$,A2$:SI(SI)=ASC(A1$+NU$)+256*ASC(A2$+NU$):NEXT 535 CLOSE5:RETURN 547 REM 548 REM--- "[211]PEICHERINFO SCHREIBEN" --- 549 REM 550 OPEN5,8,5,"#":GOSUB700 555 PRINT#15,"B-R:" 5;0;18;0 560 PRINT#15,"B-P:" 5;200 565 FOR SI=0 TO 4 570 PRINT#5,CHR$(FNL(SI(SI)))CHR$(FNH(SI(SI)));:NEXT 575 PRINT#15,"B-W:" 5;0;18;0 580 CLOSE5:RETURN 597 REM 598 REM ---- "[201]RGENDEINE [212]ASTE" ---- 599 REM 600 PRINT:PRINT"[215]EITER MIT EINER [212]ASTE: ";:GOSUB800:PRINT:PRINT:RETURN 697 REM 698 REM ---- "[196]ISK [197]RROR" ---- 699 REM 700 INPUT#15,DS,DS$,TR,SE 710 IF(DS=0)OR(DS=50)OR(DS=51)THENRETURN 720 PRINT:PRINT"[196]ISK [197]RROR:"DS;DS$;TR;SE 730 CLOSE2:CLOSE15 740 GOSUB600:GOTO1000 797 REM 798 REM ---- "[212]ASTATUREINGABE" ---- 799 REM 800 C=0 810 GETE$:C=C+1:IFC=C1THENPRINTC1$; 820 IFC=C2THENPRINTC2$;:C=0 830 IFE$=""THENGOTO810 840 PRINTC2$;:RETURN 897 REM 898 REM ---- "[212]ITEL" ---- 899 REM 900 PRINT"[147]";:FORI=1TO40:PRINT"[192]";:NEXT 910 PRINT:PRINT" [196]ISK [205]ANAGER [214]4.0 930 [153]:[129]I[178]1[164]40:[153]"TAN";:[130] 940 [153]:[153]:[142] 997 [143] 998 [143] ---- "LEFT$AUPTMENUE" ---- 999 [143] 1000 [151]53280,0:[151]53281,0:[141]900 1010 [153]"< 1 > (null)ROGRAMM SUCHEN 1020 PRINT"< 2 > [196]IRECTORY EINLESEN & SPEICHERN 1025 [153]"< 3 > STR$IRECTORY LISTEN 1026 PRINT"< 4 > [196]IRECTORY LOESCHEN 1027 [153]"< 5 > (null)ROGRAMM LOESCHEN 1028 PRINT"< 6 > [211]PEICHERINFO 1029 [153]"< 7 > (null)EUE STR$ATENDISK ANLEGEN 1031 PRINT"< 0 > [197]NDE" 1040 PRINT"[201]HRE [215]AHL? "; 1045 GOSUB800:W$=E$ 1050 IFW$="0"THENPRINT:PRINT"(C) 1985 BY [212]HOMAS [207]MERZU.":END 1060 ON VAL(W$)GOTO1200,6000,2000,3000,9000,8000,4000 1070 GOTO1000 1197 REM 1198 REM ---- "[208]ROGRAMM SUCHEN" ---- 1199 REM 1200 GOSUB900:FL=0 1210 OPEN15,8,15:OPEN2,8,2,"PROGFILE,L":GOSUB700 1220 INPUT"[208]ROGRAMMNAME";ID$:GOSUB100: 1225 GOSUB300 1230 IFPR$=ID$THEN1300 1240 IFPR$=CHR$(255)THENPRINT"[208]ROGRAMM NICHT VORHANDEN.":GOTO1400 1250 ID=ID+1:IFID>O1THENID=1 1260 GOTO1225 1300 CLOSE2 1310 OPEN2,8,2,"DISKFILE,L" 1320 GOSUB360:IFFLTHEN1350 1330 PRINT:PRINT"[196]AS [208]ROGAMM "HK$ID$HK$ 1335 FL=-1 1340 PRINT"IST GESPEICHERT AUF DE"; 1345 IFCO$="+"THENPRINT"N [196]ISKETTEN":GOTO1350 1347 PRINT"R [196]ISKETTE" 1350 PRINT""HK$;NA$;HK$" "IN$ 1360 IFCO$<>"+"THEN1400 1370 GETA$:IFA$=""THENCLOSE2:OPEN2,8,2,"PROGFILE,L":GOTO1250 1380 PRINT"BREAK. 1400 [160]2:[160]15 1410 [141]600:[137]1000 1997 [143] 1998 [143] ---- "STR$IRECTORY LISTEN" ---- 1999 [143] 2000 [141]900 2010 [133]"STR$ISKNAME";DI$ 2020 DI$[178][200](DI$[170]DF$,16):[141]200 2030 [159]15,8,15:[159]2,8,2,"DISKFILE,L":[141]700 2040 [141]360:[141]700 2050 [139]NA$[178]DI$[167]2100 2060 [139]NA$[178][199](255)[167]2090 2070 DI[178]DI[170]1:[139]DI[177]O2[167]DI[178]1 2080 [137]2040 2090 [153]"STR$IRECTORY NICHT GESPEICHERT.":[160]2:[160]15:[141]600:[137]1000 2100 [153]""HK$;DI$;HK$" "IN$ 2110 [160]2 2120 [159]2,8,2,"PROGFILE,L":[141]700 2130 [139]NE[178]0[167]2200 2135 [161]A$:[139]A$[179][177]""[167][153]"BREAK.":[137]2210 2140 ID[178]NE:[141]300 2150 [153]" "HK$;PR$;HK$ 2160 [139]PR$[178][199](255)[167]NE[178]0 2170 [137]2130 2200 [153]FR"PEEKLOCKS FREE. 2210 CLOSE2:CLOSE15:GOSUB600:GOTO1000 2997 REM 2998 REM ---- "[196]IRECTORY LOESCHEN" ---- 2999 REM 3000 GOSUB900 3010 INPUT"[196]ISKNAME";DI$ 3020 DI$=LEFT$(DI$+DF$,16):GOSUB200 3030 OPEN15,8,15 3033 GOSUB500 3035 OPEN2,8,2,"DISKFILE,L":GOSUB700 3040 GOSUB360:GOSUB700 3050 IFNA$=DI$THEN3100 3060 IFNA$=CHR$(255)THEN3090 3070 DI=DI+1:IFDI>O2THENDI=1 3080 GOTO3040 3090 PRINT"[196]IRECTORY NICHT GESPEICHERT.":CLOSE2:CLOSE15:GOSUB600:GOTO1000 3100 PRINT""HK$;DI$;HK$" "IN$ 3120 PRINT"< 1 > [196]IRECTORY LOESCHEN 3130 [153]"< 0 > (null)URUECK ZUM LEFT$AUPTMENUE 3140 PRINT"[201]HRE [215]AHL? "; 3150 GOSUB800 3160 IFE$="0"THENCLOSE2:CLOSE15:GOTO1000 3170 IFE$<>"1"THEN3150 3180 GOSUB900:PRINT"[196]IRECTORY WIRD GELOESCHT..." 3185 SI(0)=SI(0)+1:SI(1)=SI(1)-1 3190 DI$=DL$:GOSUB460:CLOSE2 3200 OPEN2,8,2,"PROGFILE,L":GOSUB700 3210 IFNE=0THENCLOSE2:GOSUB550:CLOSE15:GOTO1000 3215 SI(3)=SI(3)+1:SI(4)=SI(4)-1 3220 ID=NE:GOSUB300 3230 ID$=DL$:GOSUB400:GOSUB700:IFCO$="+"THEN3210 3240 FL=ID:ID$=PR$:GOSUB100:IFID=FLTHEN3210 3245 N2=NE 3250 I2=ID:ID=FL 3260 ID=ID-1:IFI2>IDTHEN3210 3270 GOSUB300:IFPR$<>ID$THEN3260 3280 DN=DI:KO=NE:CO$="-":GOSUB400:GOSUB700 3290 NE=N2:GOTO3210 3997 REM 3998 REM ---- "[206]EUE [196]ATENDISK" ---- 3999 REM 4000 GOSUB900 4010 PRINT"[204]EGEN [211]IE EINE LEERE [196]ISKETTE INS [204]AUF- WERK." 4020 PRINT"< 1 > [206]EUE [196]ATENDISK ANLEGEN 4030 [153]"< 0 > (null)URUECK ZUM LEFT$AUPTMENUE 4040 PRINT"[201]HRE [215]AHL? "; 4050 GOSUB800 4060 IFE$="0"THEN1000 4070 IFE$<>"1"THEN4050 4080 GOSUB900 4090 PRINT"[196]ISKETTE WIRD FORMATIERT... 4100 [159]15,8,15,"N0:DISK MANAGER,TO" 4110 [141]700 4120 [153]:[153]"(null)ROGRAMM WIRD ABGESPEICHERT..." 4130 [148]"DISK MANAGER 4.0",8 4140 [141]700 4150 [153]:[153]"STR$ATENFILE 1 WIRD ANGELEGT..." 4160 [159]2,8,2,"PROGFILE,L,"[170][199](22) 4170 [141]700 4172 [152]15,"P"[199](2)[199]([165]L(M1))[199]([165]H(M1))[199](1) 4174 [141]700 4176 [152]2,"END" 4178 [141]700 4180 [160]2 4190 [153]:[153]"STR$ATENFILE 2 WIRD ANGELEGT..." 4200 [159]2,8,2,"DISKFILE,L,"[170][199](32) 4210 [141]700 4212 [152]15,"P"[199](2)[199]([165]L(M2))[199]([165]H(M2))[199](1) 4214 [141]700 4216 [152]2,"END" 4220 [160]2 4225 [153]:[153]"(null)PEICHERINFO WIRD ANGELEGT..." 4230 SI(0)[178]O2:SI(1)[178]0 4240 SI(2)[178]O1:SI(3)[178]0:SI(4)[178]0 4250 [141]550 4260 [160]15:[137]1000 5996 [143] 5997 [143] ---- "STR$IRECTORY LESEN" ---- 5998 [143] ---- " & SPEICHERN " ---- 5999 [143] 6000 [141]900:CO[178]0 6005 [153]"STR$IRECTORY EINLESEN: 6006 PRINT"[194]ITTE LEGEN [211]IE DIE [196]ISKETTE INS [204]AUF- WERK. 6007 [141]600 6008 [153]:[153]:[153] 6010 [159]15,8,15,"I 6020 OPEN2,8,0,"$0":GOSUB700 6021 PRINT"[193]LLE [198]ILES SPEICHERN? ";: 6022 GOSUB800:IFE$="J"THENAL=-1:GOTO6029 6023 IFE$<>"N"THEN6022 6024 AL=0 6029 PRINTE$:PRINT:PRINT 6030 FORI=1TO8:GET#2,B$:NEXT:DI$="" 6031 FORI=1TO16:GET#2,B$:DI$=DI$+B$:NEXT:PRINT""HK$DI$HK$;:GET#2,B$:I1$="" 6033 FORI=1TO6:GET#2,B$:I1$=I1$+B$:NEXT:PRINTI1$:GET#2,B$ 6035 GET#2,B$,C$:IFST<>0THEN6200 6040 GET#2,B$,C$ 6050 D=0 6060 IF B$<>"" THEN D=ASC(B$) 6070 IF C$<>"" THEN D=D+ASC(C$)*256 6080 N$="":HK=0 6090 GET#2,C$:IF ST<>0 THEN 6200 6093 IFC$=HK$THENHK=NOT(HK) 6095 IFHKTHENN$=N$+C$ 6100 IFC$<>""THEN6090 6101 DI$(CO)=MID$(N$,2) 6110 IF LEN(DI$(CO))=0 THEN6120 6111 PRINT" "HK$DI$(CO)HK$:IFALTHEN6120 6112 PRINT"[145]"RE$"- [211]PEICHERN? "; 6113 GOSUB800:IFE$<>"J"ANDE$<>"N"THEN6113 6114 PRINT:PRINT"[145]"RE$; 6115 IFE$="N"THENPRINT"- [206]EIN. ":GOTO6130 6116 PRINT"- [202]A. " 6120 CO=CO+1 6130 IFST=0THEN GOTO6035 6200 CLOSE2:CLOSE15 6205 PRINTD"[194]LOCKS FREE. 6210 : 6220 [153]"PEEKITTE LEGEN (null)IE DIE STR$RIGHT$(null)(null) (null)ATN(null)ATNCHR$VAL(null) - STR$ISKETTE INS (null)AUFWERK. 6230 GOSUB600 6240 GOSUB900 6250 OPEN15,8,15,"I":GOSUB500 6255 IF SI(0)>1 AND SI(2)>CO THEN 6260 6257 PRINT"[211]PEICHERUNG NICHT MOEGLICH." 6258 PRINT"[211]PEICHERPLATZ ERSCHOEPFT." 6259 CLOSE15:GOSUB600:GOTO1000 6260 OPEN2,8,2,"DISKFILE,L":GOSUB700 6270 GOSUB200 7024 PRINT"[196]ATEN WERDEN GESPEICHERT..." 7025 GOSUB360 7030 IFNA$=DI$THEN7100 7040 IFNA$=CHR$(255)THEN7200 7050 DI=DI+1:IFDI>O2THENDI=1 7060 GOTO7025 7100 PRINT"[196]IE [196]ISKETTE "DI$ 7110 PRINT"WURDE SCHON GESPEICHERT. 7120 [160]2:[160]15:[141]600:[137]1000 7200 I$[178]I1$:KO[178]0:[141]460:[141]700 7210 [160]2 7211 SI(0)[178]SI(0)[171]1:SI(1)[178]SI(1)[170]1 7215 DN[178]DI:[139]CO[179][178]1[167]7620 7220 [159]2,8,2,"PROGFILE,L":[141]700 7230 [129]I1[178]CO[171]2[164]0[169][171]1 7320 ID$[178]DI$(I1):[153]HK$ID$HK$:[141]100 7325 [141]300 7330 [139]PR$[178][199](255)[167]SI(2)[178]SI(2)[171]1:SI(4)[178]SI(4)[170]1:[137]7500 7340 [139]PR$[178]ID$[167]7400 7345 [139]PR$[178]DL$[167]SI(3)[178]SI(3)[171]1:SI(4)[178]SI(4)[170]1:[137]7450 7350 ID[178]ID[170]1:[139]ID[177]O1[167]ID[178]1 7360 [137]7325 7400 [139]CO$[178]"+"[167]7350 7405 N2[178]KO:D2[178]DN 7410 DN[178]DI:KO[178]NE:CO$[178]"+":[141]400:[141]700 7420 KO[178]N2:DN[178]D2:MI[178][171]1:[137]7350 7450 [139]MI[167]7500 7460 IX[178]ID 7465 ID[178]ID[170]1:[139]ID[177]O1[167]ID[178]1 7466 [141]300 7470 [139]PR$[178][199](255)[167]ID[178]IX:[137]7500 7480 [139]PR$[179][177]ID$[167]7465 7490 CO$[178]"+":ID[178]IX:[137]7510 7500 CO$[178]"-" 7510 [141]400:[141]700 7520 KO[178]ID:MI[178]0 7600 [130] 7610 [160]2 7620 [159]2,8,2,"DISKFILE,L 7630 I$=I1$:DI=DN:FR=D:GOSUB460:GOSUB700 7700 CLOSE2:GOSUB550:CLOSE15:GOSUB600:GOTO1000 7997 REM 7998 REM ---- "[211]PEICHERINFO" ---- 7999 REM 8000 GOSUB900 8010 OPEN15,8,15,"I":GOSUB700 8020 PRINT"[211]PEICHERINFORMATIONEN:" 8030 GOSUB500 8040 PRINT," FREI GELOESCHT BELEGT":PRINT 8050 PRINT"[196]ISKETTEN: "; 8051 PRINTRIGHT$(" "+STR$(SI(0)),4)" - "; 8052 PRINTRIGHT$(" "+STR$(SI(1)),4) 8060 PRINT"[208]ROGRAMME: "; 8061 PRINTRIGHT$(" "+STR$(SI(2)),4)" "; 8062 PRINTRIGHT$(" "+STR$(SI(3)),4)" "; 8063 PRINTRIGHT$(" "+STR$(SI(4)),4) 8100 CLOSE15:GOSUB600:GOTO1000 8997 REM 8998 REM --- "[198]ILE LOESCHEN" --- 8999 REM 9000 GOSUB900 9010 OPEN15,8,15:GOSUB500:OPEN2,8,2,"PROGFILE,L":GOSUB700 9020 INPUT"[208]ROGRAMMNAME";ID$:GOSUB100: 9025 GOSUB300 9030 IFPR$=ID$THEN9100 9040 IFPR$<>CHR$(255)THEN9050 9045 PRINT"[208]ROGRAMM NICHT VORHANDEN.":CLOSE2:CLOSE15:GOTO1000 9050 ID=ID+1:IFID>O1THENID=1 9060 GOTO9025 9100 CLOSE2 9110 OPEN2,8,2,"DISKFILE,L" 9120 GOSUB360:DD=NE:D3=DI:GOSUB900 9130 PRINT"[208]ROGAMM "HK$ID$HK$ 9135 CLOSE2 9140 PRINT"[196]ISKETTE "HK$NA$HK$" "IN$ 9150 PRINT:PRINT"< 1 > [204]OESCHEN 9160 [139]CO$[178]"+"[167][153]"< 2 > ATNNDERES (null)ROGRAMM LOESCHEN 9170 PRINT"< 0 > [218]URUECK ZUM [200]AUPTMENUE 9180 [153]"RIGHT$HRE (null)AHL? "; 9190 [141]800 9200 [139]E$[178]"0"[167][160]15:[137]1000 9210 [139]E$[178]"1"[167]9300 9220 [139]E$[179][177]"2"[167]9190 9230 [139]CO$[179][177]"+"[167]9190 9240 [159]2,8,2,"PROGFILE,L":[137]9050 9300 SI(3)[178]SI(3)[170]1:SI(4)[178]SI(4)[171]1 9310 [159]2,8,2,"PROGFILE,L" 9320 [141]300:N2[178]NE:I2[178]ID 9330 ID$[178]DL$:[141]400:[141]700:[139]CO$[178]"+"[167]9400 9340 ID$[178]PR$:[141]100:[139]ID[178]I2[167]9400 9350 FL[178]ID:ID[178]I2 9360 ID[178]ID[171]1:[139]FL[177]ID[167]9400 9370 [141]300:[139]PR$[179][177]ID$[167]9360 9380 DN[178]DI:KO[178]NE:CO$[178]"-":[141]400:[141]700 9400 [139] DD[179][177]I2 [167]9500 9410 [160]2:[159]2,8,2,"DISKFILE,L":[141]700 9420 DI[178]D3:[141]360 9430 DI$[178]NA$:I$[178]IN$:KO[178]N2:[141]460:[141]700 9440 [137]9600 9500 ID[178]DD:[141]300 9520 [139]NE[179][177]I2[167]ID[178]NE:[141]300:[137]9520 9530 DN[178]D3:KO[178]N2:ID$[178]PR$:[141]400:[141]700 9600 [160]2:[141]550:[160]15:[153]:[153]"(null)ROGRAMM GELOESCHT" 9610 [141]600:[137]1000